package com.xx.ems.dao;

import java.util.List;
import java.util.Map;

import com.xx.ems.model.Action;
import com.xx.ems.model.Roles;
import com.xx.ems.model.Users;

/**
 * @author xxx
 * @date 2014-2-27
 * @version 1.0
 * 描述: 权限管理类
 */
public interface PermissionsDao {
	/**
	 * 描述: 添加权限 
	 * @param userids  选择的所有用户id
	 * @param actionids  选择的所有操作id
	 * @param role
	 * @param loginuser
	 * @date 2014-2-27
	 */
	public void addPermissons(String[] actionids, Roles role, Users loginuser);
	/**
	 * 描述: 修改权限 
	 * @param olduserids  旧的用户id
	 * @param oldactionids  旧的操作id
	 * @param newuserids  新选择的用户id
	 * @param newactionids  新选择的操作id
	 * @param role
	 * @param loginuser
	 * @date 2014-2-27
	 */
	public void updatePermissions(String[] oldactionids, String[] newactionids, Roles role, Users loginuser);
	/**
	 * 描述: 删除权限 
	 * @param roleid
	 * @date 2014-2-27
	 */
	public void deletePermissions(String roleid);
	/**
	 * 描述: 将指定的权限授权给用户 
	 * @param userids
	 * @param roleid
	 * @date 2014-3-1
	 */
	public void authorizeToUsers(String[] userids, String roleid);
	/**
	 * 描述: 获取全部权限 (除了权限管理部分) 
	 * @date 2014-3-1
	 */
	public List<Action> getAllPermissions();
	/**
	 * 描述: 获取角色列表  
	 * @param pageNow
	 * @param maxCount
	 * @return
	 * @date 2014-3-4
	 */
	public Map<String, Object> getRolesList(int pageNow, int maxCount);
	/**
	 * 描述: 根据角色id获取相应的权限信息 
	 * @param rid
	 * @date 2014-3-4
	 */
	public List<Object> getActionsByRoleid(int rid);
}